import socket


def main():
    # 创建udp套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 绑定本机ip、端口
    udp_socket.bind(('', 7788))
    # 循环接收数据
    while True:
        recv_msg = udp_socket.recvfrom(1024)  # 1024指定接收数据的长度
        # recv_msg是一个元组 信息+对方地址
        recv_msg_str = recv_msg[0].decode("gbk")
        if recv_msg_str == "over":
            break
        print("来自%s的消息%s" % (str(recv_msg[1]), recv_msg_str))
    # 关闭socket
    udp_socket.close()
    pass


if __name__ == '__main__':
    main()
